Multichannel ring and star networks with limited channel conversion

ABSTRACT

A ring communication network including N nodes and comprising links between the nodes for carrying data in W channels. The network is configured by providing nodes and channels such that N&gt;/=2 log2W-1 where W is a power of 2. No more than W channels are assigned to the transmission of data along any of the links. The nodes are configured such that each channel of a first one of the links adjacent any one of the nodes can be switched to no more than W-1 channels of a second one of the links adjacent any one node.

The invention herein was made with Government support under ContractMDA972-95-C-0001 awarded by the Advanced Research Projects Agency(ARPA). The Government has certain rights in this invention.

TECHNICAL FIELD

The present invention relates generally to multichannel, specificallyoptical multichannel, networks with ring and star topologies.

PRIOR ART

A multichannel link comprises a number of channels, say W, between twosites. These channels may be transmitted separately (for example overparallel wires or fiber cables) or multiplexed on to one of a smallnumber of wires or fibers using time or channel division multiplexing.Usually these links are realized in the form of line cards, one for eachchannel at each end of the link. A line card is a device that providesan interface between the I/O for the channel and the transmissionmedium. The set of line cards associated with each end of a link alongwith any associated multiplexing/demultiplexing unit is called amultiplexor.

One example is the IBM optical multiplexer system [1]. This systemmultiplexes up to ten full-duplex channels on to a single transmissionlink.

Multiplexors can be connected in a ring or star network configurationacross multiple sites (herein called nodes). Nodes may be configured toallow pairs of channels to be connected to one another. This may beaccomplished by some kind of switching at the node. For example,consider a network realized by line cards. In addition, consider twochannels from different links, but where the links are incident to acommon node. Each of these channels has a line card at the node. Supposethe line cards are connected. Then the channels may be connected to eachother since the signal from one channel may be transferred to the otherchannel by going through the line cards and the connection between theline cards. If a pair of channels may be connected to one another, asfor example, through a switching network, then we refer to them as beingattached.

A node is said to be configured if pairs of its incident channels areattached. The network is said to be configured if each of its nodes isconfigured. For a network configuration, a node is said to have channeldegree k if for each pair of its incident links, the channels of thelinks have the following property: each channel in one link is attachedto k channels of the other link. A node has full channel conversion ifits channel degree is W. A node is said to have fixed channel conversionif its channel degree is one. Suppose at each link in the network, thechannels are numbered {0, 1, . . . , W-1}. Then a node is said to haveno channel conversion if its channel degree is such that channels withthe same number are attached.

A network is configured so that end-to-end communication connectionsbetween pairs of nodes may be established in the network. An end-to-endcommunication connection is specified by a path in the network, and itis realized by a set of channels, one from each link along the path sothat channels that are incident to a common node are attached throughthe node. This realization allows a signal that is sent from one end ofthe path to be received at the other end by being transported along theattached channels. The path corresponding to an end-to-end communicationconnection will be referred to as a route, and a set of channels thatrealizes the end-to-end communication connection will be referred to asa channel assignment for the route.

Note that it is straightforward to realize a set of end-to-endcommunication connections in a network configured so that each node hasfull channel conversion. It is more cost effective to have nodesconfigured so that some or all nodes have channel degree less than W,i.e., allow only limited switching capability at the nodes. However, ingeneral, networks configured to have less than full channel conversionat each node may require more channels to realize the same end-to-endcommunication connections than if they were configured to have fullchannel conversion at each node.

A request is a set of routes and corresponds to a set of end-to-endcommunication connections. The load of a request is the valuemax_(e).di-elect cons.E λ_(e), where λ_(e) denotes the number of routesusing link e and E denotes the set of links in the network. For anetwork configuration, a channel assignment for a request is acollection of assignments for routes, one per route of the request, suchthat each channel is assigned to at most one route of the request, i.e.,no two routes will share a channel. Note that a channel assignment for arequest realizes all of the end-to-end communication connectionscorresponding to the request.

Prior art focuses on networks with either no channel conversion ornetworks with full channel conversion. For the case where all nodes havefull channel conversion, (i.e., k=W), a sufficient (and necessary)condition for feasibility is W≧λ_(max), where λ_(max) is the load forthe request. For the case when all nodes have no channel conversion(hence at each node, k=1), [2] gives a method that performs a channelassignment using W≧2λ_(max) on a ring network and W≧3/2λ_(max) for astar network.

Prior art also proposes several heuristic channel assignment schemes fornetworks without channel conversion that may not be efficient in termsof using a small number of channels to perform the channel assignment.For example, see [3, 4, 5, 6, 7, 8]. For the case of limited channelconversion, [9, 10] propose some network configurations and someheuristic channel assignment schemes for these configurations that againmay not be efficient in terms of using a small number of channels toperform the channel assignment. Prior art does not propose configurationmethods and efficient channel assignment techniques for networks withlimited channel conversion.

SUMMARY OF THE INVENTION

The invention proposes configurations of ring and star networks withlimited channel conversion to efficiently support connections. Inaddition, algorithms are provided to efficiently assign channels toconnections.

More specifically, it is an object of this invention to provide a costeffective network by using nodes with limited switching capability.

It is also an object of this invention to efficiently assign channels tolinks of a network with nodes having limited switching capabilities soas to maximize network resources.

More generally, it is the overall object of this invention to configurea network and assign channels to the network in a cost effective manner.

The invention achieves the following results:

In a ring network with N nodes, the invention proposes a networkconfiguration and for this configuration, proposes a channel assignmentmethod for any request with load λ_(max) that uses

λ_(max) channels with channel degree at most k=2 at each node providedN≧2 log₂ λ_(max) -1 and W is a power of two.

λ_(max) channels with channel degree at most Δ+1 at each node, whereΔ>1, provided N≧log.sub.Δ λ_(max).

In a star network, the invention proposes a configuration and for thisconfiguration, proposes a channel assignment method for any request withload λ_(max) that uses λ_(max) channels with fixed conversion.

In a network with an arbitrary topology the invention proposes aconfiguration and for this configuration, proposes a channel assignmentmethod for any request with load λ_(max) where no connection is morethan 2 hops, that uses λ_(max) channels with fixed conversion.

Accordingly, this invention provides for a method of configuring nodesin a ring communications network wherein one of the nodes of ring isdesignated as a primary node, which is configured to have full channelconversion. That is, any two channels between its two incident links canbe connected to each other. The other nodes of the network areconfigured to have no channel conversion. That is, any channel c on oneof the incident links of a node is connected to the same channel c onthe other incident link of the node.

This invention also provides a method of assigning channels in a ringcommunications network which is configured as described in the previousparagraph. With the assignment scheme of the invention the paths usedfor end-to-end communication connections are divided into cut paths anduncut paths, where a cut path is a path that passes through the primarynode, while an uncut path does not pass through the primary node. Eachcut path p_(i) is divided into two paths a_(i) and b_(i) by splittingpath p_(i) at the primary node, where the primary node becomes an endnode for paths a_(i) and b_(i). The paths a_(i) and b_(i) are referredto as residual paths. Then, each link along each uncut path is assigneda single channel, and each link along a residual path is assigned thesame channel. Thus, a cut path can use two different channelscorresponding to its two residual paths.

This invention also comprises a network which is configured as above.

This invention also provides a method of configuring nodes of a ringcommunications network having multichannel multiplexed links. With thismethod, the N nodes of the ring are numbered consecutively starting atthe primary node and proceeding in one direction around the ring. Also,the link between nodes i and (i+1) mod N is given the number i. Then,each of the nodes is configured such that channel c on link i may beconnected to one of Δ+1 channels on link (i+1) mod N, where Δ is greaterthan or equal to 2 and where one of the channels on link (i+1) mod N ischannel (C+1) mod W, where the other Δ channels on link (i+1) mod N arechannels (C-k·Δ^(i)) mod W for k=0, 1, . . . , Δ-1 and where W is thenumber of channels in each link. This invention also describes a methodof assigning the channels in a ring communications network configured asdescribed in the previous paragraph, and the details of this assignmentscheme is described and in the specification.

This invention also describes a method of configuring the nodes in anarbitrary network having N nodes and E links, where each link is amultichannel multiplexed link having W channels, and where W is an eveninteger. With this aspect of the invention, the channels are numberedfrom 0 to W-1, and at each node, for channels i=0, 1, . . . , W/2-1,channel i on one link is connected to channel w(i) on all other linksincident to that node, where w(i)=i+W/2.

A final aspect of the invention is a method of assigning channels to thearbitrary network configured as in the previous paragraph. Thisassignment scheme is described in the specification.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration of multiplexors in a ring network for thecase of full conversion at one node and no conversion at the othernodes.

FIG. 2 shows a simplified diagram of a 4-node ring network and a samplerequest.

FIG. 3 shows the graph H, representing a Benes permutation network forthe case of 4 wavelengths (W=4) along with a set of edge-disjoint pathsin H.

FIG. 4 shows a configuration of multiplexors in a ring networkcorresponding to a Benes network configuration.

FIG. 5 shows the setting of the switches and the channel assignment forthe request of FIG. 2 in a ring network with channel degree 2 for theconfiguration of FIG. 4.

FIG. 6 shows a configuration of multiplexors in a ring network for thecase of channel degree 3.

FIG. 7 shows the setting of the switches and the channel assignment forthe request of FIG. 2 in a ring network with channel degree 3 for theconfiguration of FIG. 6.

FIG. 8 shows a configuration of multiplexors in a star network withfixed channel conversion.

FIG. 9 (A) shows a simplified diagram of a star network with 4 end nodesand a sample request of routes. (B) shows how to direct the routes asdescribed in the embodiment of the invention. (C) shows the constructionof a bipartite graph and channel assignments for this request.

FIG. 10 shows the setting of the switches and the channel assignment forthe request of FIG. 9 for the configuration of FIG. 8.

DESCRIPTION OF THE PREFERRED EMBODIMENT Ring Network

FIG. 1 shows the block diagram of multiplexors 101 connected in a ringnetwork configuration. Each node 102 in the network consists of a pairof multiplexors. Two nodes are connected by a transmission link ormedium 103. The figure shows 4 channels on each link. For each channelthere is a line card 104 within each multiplexor 101. A line cardconsists of an I/O port 105, multiple local ports 106 and a line port107 and a switch (not shown in the figure) that allows any pairs ofthese ports to be connected together. For the case of the ring network,the number of local ports per line card is at least the channel degreedefined earlier. In FIG. 1 node 0 has channel degree 4 while other nodeshave channel degree 1. Node 0 is called the primary node. The line portsof all the line cards within a multiplexor are connected to a mux/demuxunit 108 which combines all the channels on to the transmission link.Within each node the line cards from one multiplexor are hard wired tothe line cards in the other multiplexor according to a specific wiringpattern 109 given later. This wiring pattern determines which channelsare attached to each other within the node. In node 0 for example, eachchannel is attached to all the channels. In the other nodes each channelis attached only to other channels with the same channel number.

In the subsequent discussion, we will provide feasibility results forthe following network configurations: (i) one node has full channelconversion and the other nodes have no channel conversion, (ii) allnodes have channel degree at most two, (iii) all nodes have channeldegree at most Δ+1, where Δ is an integer greater than one. In thediscussion, we will assume, without loss of generality, the following:

each link has its channels numbered {0, 1, . . . , W-1}, where W is thenumber of channels per link;

nodes are numbered 0, 1, . . . , N-1 around the ring, where N denotesthe number of nodes; and

for each i=0, 1, . . . , N-1, the link between node i and node (i+1) modN is numbered i.

Configuration with Full Channel Conversion at One Node and No ChannelConversion at Other Nodes

The ring network is configured so that one of its nodes has full channelconversion. This node is referred to as the primary node, and withoutloss of generality, let it be node 0. The other nodes have no channelconversion.

Suppose we are given a request {p₁, . . . , p_(m) }, where m is thenumber of routes in the request. Then the following is a channelassignment for the request. First, refer to routes that pass throughnode 0 as cut routes and the rest of the routes as uncut. A set P ofpaths is generated as follows. Include each uncut route in P. For eachcut route p_(i), cut (or split) it at node 0 into a pair of paths{a_(i), b_(i) } called residual paths such that each residual pathincludes node 0. Without loss of generality, let a_(i) correspond to theresidual path that traverses link N-1, and let b_(i) correspond to theresidual path that traverses link 0. Refer to a_(i) as the left residualpath, and b_(i) as the right residual path. (For example, if N=5 andp_(i) is a path with the sequence of nodes 4-5-0-1-2 then the residualpath a_(i) corresponds to 4-5-0 and b_(i) corresponds to 0-1-2). Includethe residual paths in P.

Next, partition the paths in P into W subsets (P₀, P₁, . . . , P_(W-1))such that paths in the same subset do not traverse common links of thering network. We will refer to the partition (P₀, P₁, . . . , P_(W-1))as a cut-and-color partition for the request. One way to find acut-and-color partition is to assign channel numbers {0, . . . , W-1} tothe paths in P such that paths with a common link have distinct numbers.This is like coloring paths in an interval graph [11, Sec.16.5] becauseno path of P crosses through node 0. Hence, we can use a greedyalgorithm assignment that requires λ_(max) numbers [11, Sec.16.5]). [11]is hereby incorporated by reference. Then for i=0, 1, . . . , W-1, allpaths that have been assigned to channel number i are in subset P_(i).

We will now describe the channel assignment for the request. For eachuncut route p_(i), channel number j is assigned to it where j satisfiesp_(i) .di-elect cons.P_(j). For each link traversed by p_(i), thechannel numbered j of that link is assigned to p_(i). For each cut routep_(i), two channel numbers j_(a) and j_(b) are assigned to it, where thechannel numbers correspond to the left residual path a_(i) and rightresidual path b_(i) of p_(i). In particular, j_(a) satisfies a_(i).di-elect cons.P_(ja), and j_(b) satisfies b_(i) .di-elect cons.P_(jb).For each link traversed by p_(i), a channel is assigned to p_(i) asfollows. If the link is traversed by a_(i) then the channel numberedj_(a) is assigned to p_(i). Otherwise, the link must be traversed byb_(i), and the channel numbered j_(b) is assigned to p_(i).

The desired channel assignment can be realized by setting the switchesin the configured network appropriately, as shown in the example below.

Example: Consider the 4-node network of FIG. 1 redrawn in FIG. 2 withW=4 channels and let the request be

    p.sub.0 =0-1-2

    p.sub.1 =1-2-3

    p.sub.2 =2-3-0-1

    p.sub.3 =2-3-0

    p.sub.4 =3-0-1-2

    and

    p.sub.5 =1-2-3

be as shown in the figure. Node 0 is the primary node. Then acut-and-color partition for the request is the routes with

    P.sub.0 ={p.sub.0,a.sub.2 }

    P.sub.1 ={b.sub.2,p.sub.1,a.sub.4 }

    P.sub.2 ={b.sub.4,p.sub.3 }

    and

    P.sub.3 ={p.sub.5 }

where a₂ =2-3-0, b₂ =0-1 and a₄ =3-0, b₄ =0-1-2. Here a_(i) and b_(i)correspond to the cut routes of p_(i). Thus the individual routes wouldbe assigned channels as shown below and in FIG. 2.

    ______________________________________                                                  Links                                                               Route       0     1           2   3                                           ______________________________________                                        p0          0     0           --  --                                          p1          --    1           1   --                                          p2          1     --          0   0                                           p3          --    --          2   2                                           p4          2     2           --  1                                           p5          --    3           3   --                                          ______________________________________                                    

Configuration for Channel Degree 2

Suppose W is a power of two and N≧2 log₂ W-1. There is a configurationwith channel degree two at each node with the following property. Allrequests that have load at most W are feasible.

The configuration attaches pairs of channels to form a permutationnetwork. To be more specific, channels are attached according to a newgraph H, which has the following properties:

The set of vertices of H may be organized into s+1 stages, numbered 0,1, . . . , s, where s≦N+1, such that there are W vertices {u₀, . . . ,u_(W-1) } at stage 0 and there are W vertices {v₀, . . . , v_(W-1) } atstage s. For the sake of discussion, label the vertices at stage 0 {u₀,. . . , u_(W-1) } and the vertices at stage s {v₀, . . . , v_(W-1) }. Wewill also refer to those stages i=1, 2, . . . , s-1 (i.e., those thatare not stage 0 or stage s) as the intermediate stages.

The set of edges of H are between consecutive stages of vertices suchthat there are exactly W edges between stages. To be more specific, fori=0, 1, . . . , s-1, there are W edges between stage i and stage i+1.

Each vertex in the stage 0 has exactly one incident edge. Each vertex instage s has exactly one incident edge.

The graph H has the following additional property. Let any function f(·)on {0, . . . , W-1} be called a permutation if (f(0), . . . , f(W-1))are distinct values of {0, . . . , W-1}. For example, if f(·) is afunction on {0, 1, 2, 3} and (f(0), f(1), f(2), f(3))=(1, 3, 0, 2) thenit would be a permutation on {0, 1, 2, 3}. Now H has the property thatfor any permutation π(·) on {0, . . . , W-1}, there is a collection(τ(·), h₀, h₁, . . . , h_(W-1)), where

τ(·) is a permutation on {0, . . . , W-1};

{h₀, h₁, . . . , h_(W-1) } is a collection of W paths in H;

for each i=0, 1, . . . , W-1, path h_(i) starts at vertex u.sub.τ(i) instage 0, traverses stages 1, 2, . . . , s-1 in succession, and ends atvertex u.sub.τ(π(i)) in stage s; and

the paths {h₀, . . . , h_(W-1) } do not have common edges in H, i.e.,they are edge disjoint in H.

We will refer to the collection (τ(·), h₀, . . . , h_(W-1)) as aninterconnection instance for π(·).

The edges of H are assigned to the channels of the ring network asfollows. The W edges of H between the vertices in stages 0 and 1 areassigned to the channels of link 0 such that for i=0, 1, . . . , W-1,the edge incident to u_(i) of stage 0 is assigned to the channelnumbered i. The W edges of H between vertices in stages s-1 and s areassigned to the channels of link (s-1) mod N such that for i=0, 1, . . ., W-1, the edge incident to v_(i) of stage s is assigned to the channelnumbered i. For i=1, . . . , s-2, the W edges of H between the verticesin stages i and (i+1) mod N are assigned to the W channels of link i modN in the ring network. (Note that it is possible for two differentstages of edges of H to be assigned to the channels of the same link,e.g., if s=N+1 then the edges between stages 0 and 1 and the edgesbetween stages s-1 and s will both be assigned to the channels in link0.) We will use the notation that if e is an edge in H then γ(e) is thechannel it is assigned to.

The ring network is configured as follows. For i=1, 2, . . . , s-1,channels are attached through node i mod N of the ring network asfollows: if e and e' are edges of H such that e is between the stagesi-1 and i of vertices, e' is between stages i and i+1 of vertices, and eand e' are incident to a common vertex in stage i then the channels γ(e)and γ(e') are attached through node i. All other nodes of the ringnetwork are configured so that there is no channel conversion.

A particular topology for H that leads to a network configuration ofchannel degree two at every node is the Benes interconnection networktopology [12]. The Benes topology has s=2log₂ W, so that it has 2log₂W+1 stages of vertices, where the stage 0 vertices {u₀, . . . , u_(W-1)} are the inputs of the Benes topology and stage s vertices {v₀, . . . ,v_(W-1) } are the outputs. FIG. 3 shows the graph H for the case W=4.Here, there are 5 stages of vertices, where the stage 0 vertices are{u₀, u₁, u₂, u₃ }, the stage 1 vertices are {x₀ (1), x₁ (1)}, the stage2 vertices are {x₀ (2), x₁ (2)}, the stage 3 vertices are {x₀ (3), x₁(3)}, and the stage 4 vertices are {v₀, v₁, v₂, v₃ }. Also note thatthere are exactly W=4 edges between consecutive stages of vertices.

Notice that in a Benes topology H, vertices in an intermediate stage ihave exactly two incident edges to vertices in stage i+1, and exactlytwo incident edges to vertices in stage i-1. This implies that in theresulting configured ring network, each node has channel degree at mosttwo.

The Benes topology has the property that for any permutation π(·) on {0,. . . , W-1}, there is an interconnection instance (τ(·), h₀, . . . ,h_(W-1)) such that τ(·) satisfies (τ(0), τ(1), . . . , τ(W-1))=(0, 1, .. . , W-1), i.e., τ(·) is the identity function. Thus, for i=0, . . . ,W-1, the path h_(i) starts at vertex u_(i) and ends at vertexv.sub.π(i). The Benes topology is referred to as a permutation networksince it has this property. FIG. 3 shows an example {h₀,h₁,h₂,h₃ } forthe permutation π(·) that satisfies (π(0), π(1), π(2), π(3))=(1, 2, 3,0) for the case when W=4. Here,

    h.sub.0 =u.sub.0 -x.sub.0 (1)-x.sub.1 (2)-x.sub.0 (3)-v.sub.1

    h.sub.1 =u.sub.1 -x.sub.0 (1)-x.sub.0 (2)-x.sub.1 (3)-v.sub.2

    h.sub.2 =u.sub.2 -x.sub.1 (1)-x.sub.1 (2)-x.sub.1 (3)-v.sub.3,

    and

    h.sub.3 =u.sub.3 -x.sub.1 (1)-x.sub.0 (2)-x.sub.1 (3)-v.sub.2.

As an example of a network configuration consider a 4-node ring networkwith W=4 channels per link. Let H be the Benes network graph in FIG. 3.The edges of H between the stage 0 and stage 1 vertices are assigned tothe channels of link 0. Similarly, the edges between stages 1 and 2 areassigned to the channels of link 1, the edges between stages 2 and 3 areassigned to the channels of link 2, and the edges between stages 3 and 4are assigned to the channels of link 3. In the figure, the channelnumbers for each edge are given. For example, edge x₀ (1)-x₁ (2) isassigned to a channel numbered 1 (in link 1), i.e., γ(x₀ (1)-x₁ (2)) isthe channel numbered 1 in link 1. Notice that vertices u₀, u₁, u₂, andu₃ are assigned to channels numbered 0, 1, 2, and 3, respectively. Also,vertices v₀, v₁, v₂, and v₃ are assigned to channels numbered 0, 1, 2,and 3, respectively. Now, if a pair of edges of H are incident to acommon vertex in stage i (i=1, . . . , s-1) and one edge is betweenstages i-1 and i and the other is between stages i and i+1 then theirassigned channels are attached through node i. For example, edges x₀(1)-x₁ (2) and x₁ (2)-x₁ (3) of H are incident to a common vertex x₁(2). Then their associated channels in the ring network (channel 1 oflink 1 and channel 3 of link 2) are attached through node 2. Note thatnode 0 has no channel conversion. The corresponding wiring arrangementfor the ring network configuration is shown in FIG. 4. Nodes 1, 2 and 3realize a Benes network graph and node 0 is wired so that there is nochannel conversion.

Once the ring network has been configured (with respect to some H), thena channel assignment can be found for any request that satisfies λ_(max)≦W. We will now describe a channel assignment for such a request {p₁, .. . , p_(m) }, where m is the number of routes in the request.

First, a cut-and-color partition (P₀, . . . , P_(W-1)) is found for therequest. Next, a permutation π(·) on {0, 1, . . . , W-1} is found withthe following property: for each cut route p_(i) of the request,consider its left residual path a_(i) and right residual path b_(i), andif the a_(i) is in P_(j) and b_(i) is in P_(k) then π(j)=k. We willrefer to such a permutation as a permutation for the cut-and-colorpartition. (Note that there may be more than one permutation for apartition if the number of cut paths is less than W.)

One method to determine a permutation π(·) of the cut-and-colorpartition is as follows. Let Γ denote a set that equals {0, . . . ,W-1}. Now for each cut route p_(i), of the request do the following: (1)determine the left residual path a_(i) and right residual path b_(i) ofp_(i) ; (2) determine j_(a) and j_(b) such that a_(i) .di-electcons.P_(ja) and b_(i) .di-elect cons.P_(jb) ; and then letπ(j_(a))=j_(b) and remove the value j_(b) from the set Γ. For each i=0,. . . , W-1, such that the value of π(i) has yet to be determined, picka value j from Γ, and then let π(i)=j and remove j from Γ. For example,suppose W=4 and the only cut routes of the request are p₁ and p₂.Suppose the cut-and-color partition (P₀, . . . , P₃) is such that a₁.di-elect cons.P₂, b₁ .di-elect cons.P₃, a₂ .di-elect cons.P₃, and b₂.di-elect cons.P₀. Then π(2)=3 and π(3)=0. This leaves the values ofπ(0) and π(1) yet to be determined. Their values should not be from theset {0, 3}, which have already been used. Thus, we can let π(0)=2 andπ(1)=1 which will leave π(·) a permutation.

Now for each i=0, . . . , W-1, a collection of channels of the ringnetwork is assigned to P_(i), one channel per link of the ring network.This is done as follows. For the graph H and permutation π(·) (of thecut-and-color partition), find the interconnection instance (τ(·), h₀,h₁, . . . , h_(W-1)). For each i=0, . . . , W-1, let

    {e.sub.i (0), e.sub.i (1), . . . , e.sub.i (j), . . . , e.sub.i (s-2)}

denote the edges of H traversed by path h.sub.τ(i), where e_(i) (j) isthe one between stages j and j+1. Let

    {g.sub.i (0), g.sub.i (1), . . . , g.sub.i (j), . . . , g.sub.i (s-2)}

be the collection of channels of the ring network, where g_(i) (j) isthe channel assigned to edge e_(i) (j), i.e., g_(i) (j)=γ(e_(i) (j)). Inaddition, if s≦N then let

    {g.sub.i (s-1), g.sub.i (s), g.sub.i (s+1), . . . , g.sub.i (j), . . . , g.sub.i (N-1)}

be the collection of channels of the ring network, where g_(i) (j) isthe channel numbered τ(π(i)) of link j. The collection

    {g.sub.i (0), g.sub.i (1), . . . , g.sub.i (N-1)}

are the channels assigned to P_(i).

The channel assignment for the request can now be determined. For eachuncut route p_(i), assign channels to it as follows. Find k such thatp_(i) .di-elect cons.P_(k). For each link j of the ring networktraversed by p_(i), assign channel g_(i) (j) to route p_(i).

For each cut route p_(i), assign channels to it as follows. Let a_(i)and b_(i) be the residual paths of p_(i). Find k_(a) and k_(b) such thata_(i) .di-elect cons.P_(k).sbsb.a and b_(i) .di-elect cons.P_(k).sbsb.b.For each link j traversed by a_(i), assign channel g_(k).sbsb.a (j) toroute p_(i). For each link j traversed by b_(i), assign channelg_(k).sbsb.b (j) to route p_(i).

Example: As an example consider a 4-node ring network with W=4 channelsper link and configured according to the H in FIG. 3. The correspondingwiring arrangement for the ring network configuration is shown in FIG.4. Nodes 1, 2 and 3 realize a Benes interconnection network and node 0is wired so that there is no conversion.

Consider the same request as in FIG. 2. The cut-and-color partition isthe same as before. A permutation π(·) for the partition is

    (π(0), π(1), π(2), π(3))=(1, 2, 3, 0).

(Notice, since there are only two cut routes in the request {p₀, . . . ,p₅ }, that there are other permutations for the partition, e.g., (π'(0),π'(1), π'(2), π'(3))=(1, 2, 0, 3).)

An interconnection instance (τ(·), h₀, h₁, h₂, h₃) for π(·) is whereτ(·) is the identity function (i.e., (τ(0), τ(1), τ(2), τ(3))=(0, 1, 2,3)) and

    h.sub.0 =u.sub.0 -x.sub.0 (1)-x.sub.1 (2)-x.sub.0 (3)-v.sub.1,

    h.sub.1 =u.sub.1 -x.sub.0 (1)-x.sub.0 (2)-x.sub.1 (3)-v.sub.2,

    h.sub.2 =u.sub.2 -x.sub.1 (1)-x.sub.1 (2)-x.sub.1 (3)-v.sub.3,

    and

    h.sub.3 =u.sub.3 -x.sub.1 (1)-x.sub.0 (2)-x.sub.0 (3)-v.sub.0,

as shown in FIG. 3. Equivalently, the paths traverse the following edgesof H:

    h.sub.0 : u.sub.0 -x.sub.0 (1), x.sub.0 (1)-x.sub.1 (2), x.sub.1 (2)-x.sub.0 (3), x.sub.0 (3)-v.sub.1,

    h.sub.1 : u.sub.1 -x.sub.0 (1), x.sub.0 (1)-x.sub.0 (2), x.sub.0 (2)-x.sub.1 (3), x.sub.1 (3)-v.sub.2,

    h.sub.2 : u.sub.2 -x.sub.1 (1), x.sub.1 (1)-x.sub.1 (2), x.sub.1 (2)-x.sub.1 (3), x.sub.1 (3)-v.sub.3,

    h.sub.3 : u.sub.3 -x.sub.1 (1), x.sub.1 (1)-x.sub.0 (2), x.sub.0 (2)-x.sub.0 (3), x.sub.0 (3)-v.sub.0.

Using the assignment of edges to channels, as shown in FIG. 3, we canget an assignment of channels to each P_(i) (i=0, 1, 2, 3). For example,for P₀, we consider the edges traversed by h₀. The edge u₀ -x₀ (1) isassigned to channel 0 in link 0, the edge x₀ (1)-x₁ (2) is assigned tochannel 1 in link 1, the edge x₁ (2)-x₀ (3) is assigned to channel 1 inlink 2, and the edge x₀ (3)-v₁ is assigned to channel 1 in link 3. Thefollowing are the channel assignments to each P_(i) (i=0, 1, 2, 3).

    ______________________________________                                               Channels                                                               Set      Link 0  Link 1      Link 2                                                                              Link 3                                     ______________________________________                                        P.sub.0  0       1           1     1                                          P.sub.1  1       0           2     2                                          P.sub.2  2       3           3     3                                          P.sub.3  3       2           0     0                                          ______________________________________                                    

Based on this, the individual routes are assigned channels. For example,consider an uncut route p₃ =2-3-0. Notice that p₃ .di-elect cons.P₂, andso p₃ uses channels assigned to P₂. Since p₃ traverses links 2 and 3,its channels are (according to the table above) channel 3 in link 2 andchannel 3 in link 3. As another example, consider the cut route p₂=2-3-0-1. Notice that p₂ has the residual paths a₂ =2-3-0 and b₂ =0-1.Notice that a₂ .di-elect cons.P₀, and so p₂ uses some of the channelsassigned to P₀. In particular, since a₂ traverses links 2 and 3, thechannels are (according to the table above) channel 1 in link 2 andchannel 1 in link 3. Notice that b₂ .di-elect cons.P₁, and so p₂ uses achannel assigned to P₁. In particular, since b₂ traverses link 0, thechannel is (according to the table above) channel 1 in link 0.

The channel assignment for the request {p₀, . . . , p₅ } is shown in thetable below.

    ______________________________________                                                  Links                                                               Route       0     1           2   3                                           ______________________________________                                        p0          0     1           --  --                                          p1          --    0           2   --                                          p2          1     --          1   1                                           p3          --    --          3   3                                           p4          2     3           --  2                                           p5          --    2           0   --                                          ______________________________________                                    

The switching arrangement in the line cards to do this is shown in FIG.5.

Configuration for Channel Degree Δ+1, where Δ>1

Consider a ring network with N≧log.sub.Δ W nodes. There is aconfiguration that has channel degree at most Δ+1 at each node with thefollowing property. All requests that have load at most W are feasible.

Consider the following network configuration. For each link i=0, 1, . .. , N-1, its channel j.di-elect cons.{0, 1, . . . , W-1} is attached tothe following channels on link (i+1) mod N: channel (j+1) mod W andchannels {(j-k·Δ^(i)) mod W: k=0, 1, . . . , Δ-1}. Note that in thisconfiguration, each node has channel degree at most Δ+1.

As an example consider the case of a 4-node ring network with W=4channels per link, and Δ=2. Then for each link i.di-elect cons.{0, 1, 2,3}, its channel j.di-elect cons.{0, 1, 2, 3} is attached to channels(j+1) mod 4, j, and (j-2^(i)) mod 4 on link (i+1) mod 4. For example,channel 1 on link 0 is attached to channels 2, 1, and 0 on link 1. Asanother example, note that channel 2 on link 3 is attached to channels 3and 2 on link 0. The wiring arrangement is shown in FIG. 6.

Now consider an arbitrary request {p₁, . . . , p_(m) } with load at mostW. We will now describe how to find a channel assignment for it. We canfind a cut-and-color partition (P₀, . . . , P_(W-1)) and a permutationπ(·) for the partition as before. We will use the following definition.We call two numbers i and j in {0, 1, . . . , W} to be π-related ifthere is a value k and a sequence (r₀, r₁, . . . , r_(k)) of numbersfrom {0, . . . , W-1} such that r₀ =i, r_(k) =j, and for i=0, 1, . . . ,k-1, π(r_(i))=r_(i+1). For example, suppose W=8 and

    (π(0), π(1), π(2), π(3), π(4), π(5), π(6), π(7))=(1, 3, 7, 5, 4, 0, 2, 6).

Note that π(0)=1, π(1)=3, π(3)=5, and π(5)=0. Thus, the numbers {0, 1,3, 5} are π-related. Similarly, the numbers within the following subsetsare π-related: {2, 7, 6} and {4}.

Partition the set {0, . . . , W-1} into nonempty subsets {C₀, . . . ,C_(M-1) }, where M is the number of subsets, such that numbers within asubset are π-related, while numbers from different subsets are not.Continuing with our example, the subsets could be C₀ ={0, 1, 3, 5}, C₁={2, 7, 6}, and C₂ ={4}. For each i=0, . . . , M-1, let s_(i) denote thesize of C_(i). Then for the example, s₀ =4, s₁ =3, and s₂ =1.

Define any subset of {0, . . . , W-1} as a contiguous subset if it canbe written as

    {(i+j) mod W: j=0, . . . , k}

for some i and k in {0, . . . , W-1}. Partition {0, . . . , W-1} into Wcontiguous subsets (T₀, . . . , T_(M-1)) such that T_(i) has size s_(i).This can be done by finding a collection of numbers {t₀, . . . , t_(M-1)} from {0, . . . , W-1} such that for i=0, . . . , M-1,

    t.sub.(i+1) mod M =(t.sub.i +s.sub.i) mod W.

Then for i=0, . . . , M-1,

    T.sub.i ={(t.sub.i +j) mod W: j=0, . . . , s.sub.i -1}.

To continue with our example, we could have t₀ =0, t₁ =4, t₂ =7, T₀ ={0,1, 2, 3}, T₁ ={4, 5, 6}, and T₂ ={7}.

For i=0, . . . , M-1, find a function q_(i) (·) that is defined on theset {0, . . . , s_(i) -1} such that

1. there is an element j.di-elect cons.C_(i) such that q_(i) (j)=0 and

2. for each element j.di-elect cons.C_(i), q_(i) (π(j))=(q_(i) (j)+1)mod s_(i).

To continue with our example, let us determine what q₀ (·) should be.Recall that C₀ ={0, 1, 3, 5}, and that π(0)=1, π(1)=3, π(3)=5, andπ(5)=0. Then we could have (q₀ (0), q₀ (1), q₀ (3), q₀ (5))=(0, 1, 2,3). Similarly, we could have (q₁ (2), q₁ (7), q₁ (6))=(0, 1, 2), and (q₂(4))=(0).

For k=0, . . . , M-1, let (d_(N-1) (k), d_(N-2) (k), . . . , d₀ (k))denote the base Δ, N digit representation of the value s_(k) -1. Now,for i=0, . . . , N-1, let ##EQU1## For example, if N=4, s_(k) -1=15, andΔ=2 then

    (d.sub.3 (k), d.sub.2 (k), d.sub.1 (k), d.sub.0 (k))=the binary number (1, 1, 1, 1),

    and

    (D.sub.3 (k), D.sub.2 (k), D.sub.1 (k), D.sub.0 (k))=(7, 3, 1, 0).

As another example, if N=3, s_(k) -1=15, and Δ=3 then

    (d.sub.2 (k), d.sub.1 (k), d.sub.0 (k))=the ternary number (1, 2, 0),

    and

    (D.sub.2 (k), D.sub.1 (k), D.sub.0 (k))=(6, 0, 0).

For each subset P_(i) (i=0, . . . , W-1) from the cut-and-colorpartition, we assign it channels as follows. The channels assigned toP_(i) will be denoted by σ(i, 0), σ(i, 1), . . . , σ(i, j), . . . , σ(i,N-1), where σ(i, j) is the channel on link j. Let k be such that P_(i).di-elect cons.C_(k). For j=0, . . . , N-1, let ρ(i, j) be the followingvalue ##EQU2## For j=0, . . . , N-1, let σ(i, j)=(t_(k) +ρ(i, j)) mod W.For example, suppose N=4, Δ=2, W=32, and C_(k) ={4, 5, . . . , 11}.Here, note that s_(k) =8,

    (d.sub.3 (k), d.sub.2 (k), d.sub.1 (k), d.sub.0 (k))=(0, 1, 1, 1),

    and

    (D.sub.3 (k), D.sub.2 (k), D.sub.1 (k), D.sub.0 (k))=(7, 3, 1, 0).

    Suppose that

    (π(4), π(5), . . . , π(11))=(5, 6, . . . , 11, 4)

    and

    (q.sub.k (4), q.sub.k (5), . . . , q.sub.k (11))=(0, 1, . . . , 6, 7).

In addition, to simplify the example, suppose that t_(k) =0, so thatσ(i, j)=ρ(i, j) for all i.di-elect cons.C_(k). Then we have thefollowing channel assignment for the subsets in C_(k) :

    ______________________________________                                        Sets                                                                          Link   P.sub.4                                                                             P.sub.5  P.sub.6                                                                           P.sub.7                                                                             P.sub.8                                                                           P.sub.9                                                                              P.sub.10                                                                          P.sub.11                       ______________________________________                                        0      0     1        2   3     4   5      6   7                              1      0     1        2   3     4   5      7   6                              2      0     1        2   3     5   6      7   4                              3      1     2        3   4     5   6      7   0                              ______________________________________                                    

The values of σ(l, j), where l.di-elect cons.C_(k), can be read from thetable. For example, the channels assigned to P₈ are channel σ(8, 0)=4 inlink 0, channel σ(8, 1)=4 in link 1, channel σ(8, 2)=5 in link 2, andchannel σ(8, 3)=5 in link 3. To see what the table looks like when t_(k)is not zero, suppose the t_(k) were changed to 10. Then the followingchannel assignment for the subsets in C_(k) would result.

    ______________________________________                                        Sets                                                                          Link   P.sub.4                                                                             P.sub.5  P.sub.6                                                                           P.sub.7                                                                             P.sub.8                                                                           P.sub.9                                                                              P.sub.10                                                                          P.sub.11                       ______________________________________                                        0      10    11       12  13    14  15     16  17                             1      10    11       12  13    14  15     17  16                             2      10    11       12  13    15  16     17  14                             3      11    12       13  14    15  16     17  10                             ______________________________________                                    

Channels can be assigned to each route p_(k) of the request as follows.Suppose p_(k) is an uncut route. Let i be such that p_(k) .di-electcons.P_(i). For each link j that is traversed by p_(k), the channel σ(i,j) of the link is assigned to p_(k). Suppose p_(k) is a cut route. Leta_(k) and b_(k) be its residual paths. Let i_(a) and i_(b) be such thata_(k) .di-elect cons.P_(i).sbsb.a and b_(k) .di-elect cons.P_(i).sbsb.b.For each link j that is traversed by a_(k), the channel σ(i_(a), j) ofthe link is assigned to p_(k). For each link j that is traversed byb_(k), the channel σ(i_(b), j) of the link is assigned to p_(k).

Example: Consider a 4-node ring network that has W=4 channels per link,and where it is configured according to Δ=2. Hence, the wiringarrangement in the line cards is shown in FIG. 6.

Suppose the requests are shown in FIG. 2. The cut-and-color partitionand the permutation π(·) for the partition is the same as before. Thus,(π(0), π(1), π(2), π(3))=(1, 2, 3, 0). Then we have C₀ ={0, 1, 2, 3}, s₀=4,

    (d.sub.3 (0), d.sub.2 (0), d.sub.1 (0), d.sub.0 (0))=(0, 0, 1, 1),

    (D.sub.3 (0), D.sub.2 (0), D.sub.1 (0), D.sub.0 (0))=(3, 3, 1, 0),

    and

    (q.sub.0 (0), q.sub.0 (1), q.sub.0 (2), q.sub.0 (3))=(0, 1, 2, 3)

Thus the sets P₀, P₁, P₂, P₃ are assigned channels on the links asfollows:

    ______________________________________                                                  Links                                                               Set         0     1           2   3                                           ______________________________________                                        P.sub.0     0     0           1   1                                           P.sub.1     1     1           2   2                                           P.sub.2     2     3           3   3                                           P.sub.3     3     2           0   0                                           ______________________________________                                    

Based on this, the individual routes are assigned channels as givenbelow:

    ______________________________________                                                  Links                                                               Route       0     1           2   3                                           ______________________________________                                        p0          0     0           --  --                                          p1          --    1           2   --                                          p2          1     --          1   1                                           p3          --    --          3   3                                           p4          2     3           --  2                                           p5          --    2           0   --                                          ______________________________________                                    

The switch settings corresponding to this assignment are shown in FIG.7.

Star Network

FIG. 8 shows the block diagram of multiplexors 101 connected in a starnetwork configuration. The network consists of a hub node 102H and spokenodes 102E. The spoke nodes are connected to the hub node by atransmission link or medium 103. Each spoke node 102E in the networkconsists of a multiplexor. The hub node consists of a multiplexor foreach link (or each spoke node) in the network. The multiplexors in thehub node are wired together according to a specified pattern. The figureshows 4 channels on each link. For each channel there is a line card 104within each multiplexor. A line card consists of an I/O port 105,multiple local ports 106 and a line port 107 and a switch (not shown inthe figure) that allows any pairs of these ports to be connectedtogether.

Our results use the following network configuration of channels when W,the number of channels per link, is even. Each link has its channel i=0,1, . . . , W/2-1 connected to channel w(i) (through the hub node) on allthe other links, where w(i)=i+W/2. We will denote the hub node by h, andthe spoke nodes by x₁, . . . , x_(N-1). For i=1, . . . , N-1, let e_(i)denote the link between nodes h and x_(i).

Once the network is configured, a channel assignment may be found forany request that has load at most W and each route of the requesttraverses at most two links. The following is the procedure to find achannel assignment. Let {p₁, . . . , p_(M) } denote the routes of therequest. Let {p₁, . . . , p_(m) } denote the routes that traverseexactly two links. Hence, the routes {p_(m+1), . . . , p_(M) } denotethe ones that traverse exactly one link.

We will refer to a path as being incident to its end nodes. For example,a path that traverses a sequence of nodes (x_(i), h, x_(j)) (hence, ittraverses exactly two links), is considered to be incident to its endnodes x_(i) and x_(j) (here, h is an intermediate node). As anotherexample, a path that traverses the sequence of nodes (x_(i), h) (hence,it traverses exactly one link), is considered to be incident to its endnodes x_(i) and h.

A path may be directed, which means that it is viewed as going from oneof its end nodes to its other end node. For example, if a path traversestwo links and has end nodes x_(i) and x_(j) then it may be directed fromx_(i) to h and then to x_(j), or it may be directed from x_(j) to h andthen to x_(i). If a path traverses one link and has end nodes x_(i) andh then it may be directed from x_(i) to h, or it may be directed from hto x_(i). As part of the channel assignment procedure, the routes {p₁, .. . , p_(m) } will be directed so that at each spoke node there are atmost W/2 incident routes of {p₁, . . . , p_(m) } that are directed intothe node, and at most W/2 incident routes of {p₁, . . . , p_(m) } thatare directed out of the node. The procedure to direct these routes is asfollows.

If the number of routes of {p₁, . . . , p_(M) } that traverse each linki s exactly W then let R=M. Otherwise, find additional paths {p_(M+1), .. . , p_(R) } such the number of routes of {p₁, . . . , p_(R) } thattraverse each link is exactly W. The additional paths {p_(M+1), . . . ,p_(R) } are referred to as dummy paths. Note that the dummy paths can befound as follows. For i=1, . . . , N-1, let there be W-n_(i) dummypaths, each traversing only link e_(i), where n_(i) is the number ofroutes (that are not dummy paths) traversing link e_(i).

The paths of {p₁, . . . , p_(R) } are directed as follows. Consider eachpath of {p₁, . . . , p_(R) } as being initially undirected. Refer to anode that has at least one undirected incident path as a free node. Aslong as there is a free node, do the following:

1. Start from a free node, say x_(i), and traverse an undirectedincident path (from the set {p₁, . . . , p_(R) }) to the other end node,and direct the path in the direction of the traversal.

2. From the other end node, traverse an undirected incident path (fromthe set {p₁, . . . , p_(R) }) to the next end node, and direct the pathin the direction of the traversal.

3. Keep traversing undirected paths (and directing the traversed paths)in this way until node x_(i) is reached.

Now construct a bipartite graph G which has two sets of vertices: {u₁, .. . , u_(N-1) } and {v₁, . . . , v_(N-1) }. It has edges b₁, . . . ,b_(m), where b_(i) is between u_(j) and v_(k) if path p_(i) traverseslinks e_(j) and e_(k) in the star network and p_(i) is directed so thatit goes from node x_(j) to h and then to x_(k). Note that in G, eachvertex has at most W/2 incident edges because each spoke node of thestar network has at most W/2 incoming incident paths and at most W/2outgoing incident paths. Next, assign numbers {0, . . . , W/2-1} to theedges of G such that distinct numbers are assigned to edges incident toa common node, and denote the number assigned to link b_(i) (for i=1, .. . , m) by q(b_(i)). This can be accomplished using the schedulingalgorithms used for Satellite Switched/Time Division Multiple Access(SS/TDMA) systems [13], incorporated herein by reference. Using theassignment of numbers, we can get a channel assignment for the routes{p₁, . . . , p_(m) } as follows. For i=1, . . . , m, suppose p_(i)traverses links e_(j) and e_(k) such that the direction of p_(i) goesfrom x_(j) to h and then to x_(k). Then channel q(b_(i)) on link e_(j)is assigned to p_(i), and the channel w(q(b_(i))) on link e_(k) is alsoassigned to p_(i).

Note that up to this point, channels have been assigned to the routes{p₁, . . . , p_(m) }. Now channels will be assigned to the routes{p_(m+1), . . . , p_(M) } (i.e., the routes that traverse exactly onelink). This can be done by selecting each route and assigning it achannel on the link that it traverses that has yet to be assigned to aroute.

Example: Consider the five node star network of FIG. 8, redrawn in FIG.9(A). The network has a hub node h, and four spoke nodes {x₁, x₂, x₃, x₄}. Note that for i=1, 2, 3, 4, spoke node x_(i) and hub node h have linke_(i) between them. Note that each link has W=4 channels numbered 0, 1,2, 3. These channel numbers are partitioned into two groups: {0, 1} and{2, 3}. Note that w(0)=2 and w(1)=3. The hub node is configured so thatfor i=0, 1, a channel i at each link is connected to channel w(i) at allthe other links.

Now suppose there is a request {p₁, p₂, . . . , p₆ } of six routes asshown in FIG. 9(A). These routes are as follows:

    p.sub.1 =x.sub.1 -h-x.sub.2

    p.sub.2 =x.sub.2 -h-x.sub.3

    p.sub.3 =x.sub.3 -h-x.sub.1

    p.sub.4 =x.sub.1 -h-x.sub.4

    p.sub.5 =x.sub.3 -h-x.sub.4

    and

    p.sub.6 =x.sub.3 -h-x.sub.1.

Note that there are W=4 routes of the request traversing links e₁ ande₃, but there are only two routes of the request traversing links e₂ ande₄. Dummy paths p₇, p₈, p₉, and p₁₀ are found for the links e₂ and e₄ asshown in FIG. 9(A). Note that the paths p₇ and p₈ only traverse link e₂,and paths p₉ and p₁₀ only traverse link e₄. Now each link has exactlyW=4 paths traversing it.

Paths p₁, . . . , p₁₀ are intially considered undirected. Then they aredirected as follows. First a node is chosen that has an undirected pathincident to it (i.e., a free node is chosen). Node x₁ is such a nodesince it has undirected paths p₁, p₃, p₄, p₆ incident to it. One of theundirected incident paths is chosen to be traversed, say path p₁. Aftertraversing it to node x₂, it is directed from end node x₁ to end nodex₂. From node x₂, an undirected incident path is chosen to be traverse.Such paths are p₂, p₇, p₈. Suppose path p₂ is chosen. After traversingit to node x₃, it is directed from end node x₂ to end node x₃. From nodex₃, an undirected incident path is chosen to be traversed. Such pathsare p₃, p₅, p₆. Suppose path p₃ is chosen. After traversing it to nodex₁, it is directed from end node x₃ to end node x₁. Note that the pathsp₁, p₂, p₃ are directed as shown in FIG. 9(B). Since we returned to nodex₁, we start the procedure of directing paths all over again. FIG. 9(B)shows the direction of paths p₄, p₅, p₆ which results by starting fromnode x₄ and traversing paths p₅, p₆, and then p₄. FIG. 9(B) also showsthe direction of paths p₇, p₈, p₉, p₁₀ which results by starting fromnode x₂ and traversing paths p₇, p₉, p₁₀, and then p₈. Note that we havethe following directions for the paths:

    p.sub.1 =x.sub.1 →h→x.sub.2

    p.sub.2 =x.sub.2 →h→x.sub.3

    p.sub.3 =x.sub.3 →h→x.sub.1

    p.sub.4 =x.sub.1 →h→x.sub.4

    p.sub.5 =x.sub.4 →h→x.sub.3

    p.sub.6 =x.sub.3 →h→x.sub.1

    p.sub.7 =x.sub.2 →h

    p.sub.8 =h→x.sub.2

    p.sub.9 =h→x.sub.4

    and

    p.sub.10 =x.sub.4 →h.

We now construct a bipartite graph G, as shown in FIG. 9(C), with twosets of vertices {u₁, u₂, u₃, u₄ } and {v₁, v₂, v₃, v₄ }. There are sixedges between the nodes denoted by {b₁, b₂, . . . , b₆ }. For i=1, . . ., 6, the edge b_(i) corresponds to the route p_(i) in the request. Ifp_(i) has end nodes x_(j) and x_(k) and is directed from x_(j) to x_(k)then edge b_(i) is between vertices u_(j) and v_(k). Thus, the edges ofG are

    b.sub.1 =u.sub.1 -v.sub.2

    b.sub.2 =u.sub.2 -v.sub.3

    b.sub.3 =u.sub.3 -v.sub.1

    b.sub.4 =u.sub.1 -v.sub.4

    b.sub.5 =u.sub.4 -v.sub.3

    and

    b.sub.6 =u.sub.3 -v.sub.1.

Numbers from the set {b 0, 1} (i.e., {0, . . . , W/2-1}) are assigned tothe edges of G so that at each vertex of G, its incident edges havedistinct numbers. The number assigned to edge b_(i) will be denoted byq(b_(i)). A number assignment is shown in FIG. 9(C). Here, q(b₁)=0,q(b₂)=1, q(b₃)=0, q(b₄)=1, q(b₅)=0, and q(b₆)=1. Note that the SS/TDMAscheduling algorithm can be used to determine q(b_(i)) for each edgeb_(i) of G.

The channel assignment to the routes are as follows. Note that p₁corresponds to b₁, which has end vertices u₁ and v₂. Note that u₁corresponds to link e₁, and v₂ corresponds to link e₂. The channelsassigned to p₁ are channel q(b₁)=0 on link e₁ and channel w(q(b₁))=2 onlink e₂. The channel assignment for all the routes of the request aregiven below:

p₁ : channel 0 on link e₁, and channel 2 on link e₂,

p₂ : channel 1 on link e₂, and channel 3 on link e₃,

p₃ : channel 0 on link e₃, and channel 2 on link e₁,

p₄ : channel 1 on link e₁, and channel 3 on link e₄,

p₅ : channel 0 on link e₄, and channel 2 on link e₃,

and

p₆ : channel 1 on link e₃, and channel 3 on link e₁.

The corresponding setting of the switches and channel assignment in thenetwork are shown in FIG. 10 for routes p₁, p₂ and p₃ as anillustration.

Arbitrary Topology Networks

Consider an arbitrary topology network such that each link has Wchannels, where W is even. Then the following method gives a fixedconversion configuration of the network and a channel assignment thatassigns channels for any set of connections with routes that havecongestion at most W and have at most two hops.

The channel assignment is done by converting the given network into astar network as follows. Each link i' in the star network corresponds toa link i in the original network. A connection that is to be routed onlinks i and j in the original network is now to be routed on links i'and j' in the star network. The congestion in the star network is atmost W and hence these connections can be routed using the results ofthe star configuration.

We claim:
 1. In a ring communications network having N nodes and aplurality of links where each said link between said nodes is amultichannel multiplexed link having W channels, denoted by channelnumbers {0, 1, . . . , W-1} a method of configuring said nodes of saidnetwork, said method comprising:(a) designating one of said nodes as aprimary node; (b) configuring said primary node so that any two channelsbetween its two incident links can be connected to each other; and (c)configuring each of said nodes which is not a primary node so that achannel c on one of its incident links can be connected to the samechannel c on its other incident link.
 2. In a ring communicationsnetwork having a plurality of channels on each of a plurality of linksinterconnecting nodes of said network, with one of said nodes being aprimary node which is configured so that any two channels between itsincident links can be connected to each other, wherein said channels ofsaid links are assigned to a set of end-to-end communication connections1, . . . , j, . . . , m, where each end-to-end communication connectionj is a sequence of connected channels that follow a path p_(j) on saidring communications network, a method of assigning channels to saidpaths {p₁, . . . , p_(m) } comprising:(a) identifying each path p_(i) asa cut path if it passes through said primary node and as an uncut pathif it does not pass through said primary node; (b) for each cut pathp_(i), forming two paths a_(i) and b_(i), to be referred to as residualpaths, by splitting p_(i) into two at said primary node such that saidprimary node becomes an end node for both said residual paths; (c)assigning a single channel c(p_(j)) to each uncut path p_(j), andassigning a single channel c(a_(i)) and a single channel c(b_(i)) toeach residual path a_(i) and b_(i), respectively, wherein eachconnection using one of said paths is assigned a channel on each link ofits path where no two of said connections are assigned the same channelon the same link; (d) for each uncut path p_(i), assigning to it saidchannel c(p_(i)) of each link that it traverses; and (e) for each cutpath p_(i), assigning to it the said channel c(a_(i)) of each link thatresidual path a_(i) traverses, and assign it channel c(b_(i)) of eachlink that residual path b_(i) traverses.
 3. A ring communicationsnetwork for providing high utilization of its bandwidth, said networkcomprising: a plurality of nodes connected to each other by a pluralityof links, with one of said nodes being a primary node capable ofconnecting any two channels between its two incident links, of saidlinks, and with each of the remaining ones of said nodes capable ofconnecting only the same channel to each other on its two incidentlinks, of said links, wherein a circuit connection terminating at two ofsaid nodes is established by assigning channels on those of said linksthat are used for a path of said connection.
 4. In a communications ringnetwork having a plurality of nodes interconnected to each other by aplurality of links, a method of assigning channels on each link, of saidlinks, along paths of connections through said network, said methodcomprising:(a) providing full channel connectivity between any twochannels of the two incident links, of said links, of a primary node, ofsaid nodes; (b) for each of the remaining ones of said nodes, attachingonly the same channels to each other on its incident links; (c) for eachof said connections, assigning a channel on each link of its path suchthat no two connections use the same channel on a common link, of saidlinks; (d) for each connections whose path does not pass through saidprimary node, assigning the same single channel in each of said linksalong its entire path; (e) identifying all paths of said connectionsthat pass through said primary node, where latter said paths arereferred to as cut paths; (f) for each cut path, forming two paths,referred to as residual paths, by splitting said each cut path at saidprimary node which becomes an end node for said two residual paths ofsaid each cut path; and (g) assigning a single channel to each one ofsaid residual paths.
 5. In a ring communications network having N nodesand a plurality of links, wherein each said link between nodes is amultichannel multiplexed link having W channels, denoted by channelnumbers {0, 1, . . . , W-1}, a method of configuring said nodes of saidnetwork, said method comprising:(a) designating one of said nodes as aprimary node and numbering said nodes 0, 1, . . . , N-1 starting fromthe primary node and proceeding in only one direction around said ringto an adjacent one of said nodes; (b) for i=0, . . . , N-1, numberingthe link between the pair of nodes i and i+1 mod N with the number i;(c) creating graph H which is composed of a set of vertices and a set ofedges, that go between pairs of vertices, where the set of verticesincludes:i. a collection of W vertices {u₀, . . . , u_(W-1) } called thestage 0 vertices, ii. a collection of W vertices {v₀, . . . , v_(W-1) }called the stage s vertices, where s≦N+1, and iii. for each i=1, 2, . .. , s-1, a collection of vertices {x₀ (i), x₁ (i), . . . ,x_(s).sbsb.i₋₁ (i)} called the stage i vertices, with s_(i) denoting thenumber of vertices in stage i, andthe set of edges includes: i. for eachi=1, . . . , s-2, a collection of W edges between stage i vertices andstage i+1 vertices, ii. an edge from each vertex u_(i) in stage 0 to avertex in stage 1, and iii. an edge from a vertex in stage s-1 to eachvertex v_(i) in stage s; (d) defining any function f(·) as a permutationif it is defined for the values {0, 1, . . . , W-1} such that (f(0),f(1), . . . , f(W-1)) are distinct values from the set {0, 1, . . . ,W-1}; (e) said graph H having the property that for each permutationπ(·), there is a permutation τ(·) and a set of W paths {h₀, h₁, . . . ,h_(W-1) } in H such that:i. for each i=0, . . . , W-1, path h_(i) startsat node u.sub.τ(i) in state 0, traverses vertex stages 1, 2, . . . , sin succession, and ends at node v.sub.τ(π(i)) in stage s, and ii. thepaths {h₀, . . . , h_(W-1) } do not have common edges in H;thecollection (τ(·), h₀, h₁, . . . , h_(W-1)) being referred to as aninterconnection instance for π(·); (f) assigning each edge e of saidgraph H to a channel, denoted by γ(e), in the said ring communicationsnetwork comprising:i. assigning the W edges between vertices of stages 0and 1 in the said graph H to distinct channels in link 0 of the saidring communications network such that if edge e of H is incident tovertex u_(i) in stage 0, then e is assigned to channel i and γ(e) equalsi, ii. assigning the W edges between vertices of stages s-1 and s in thesaid graph H to distinct channels in link (s-1) mod N in the said ringcommunications network such that if edge e of H is incident to vertexv_(i) in stage s, then e is assigned to channel i and γ(e) equals i, andiii. for each stage i=1, 2, . . . , s-2, assigning the W edges betweenthe vertices of stages i and i+1 in the graph H to distinct channels inlink i of the said network, and for each of the said edges e of H,letting γ(e) denote the channel of link i that e is assigned to; (g) fori=1, 2, . . . , s-1, configuring node i mod N of said ringcommunications network such that channel c on link (i-1) mod N isattached to channel c' on link i mod N if:i. in the said graph H, thereis an edge e between vertices of stages i-1 and i such that γ(e)=c, ii.in the said graph H, there is an edge e' between vertices of stages iand i+1 such that γ(e')=c', and iii. in the said graph H, e and e' areincident to a common vertex In stage i; and (h) configuring the othernodes such that a connection on any channel c on one of its links can beconnected to the same channel c on its other link.
 6. A method asrecited in claim 5, further comprising assigning channels to a set ofend-to-end communication connections 1, . . . , j, . . . , m, where eachend-to-end communication connection j is a sequence of connectedchannels that follow a path p_(j) on the said ring communicationsnetwork, and further comprising:(a) identifying each path p_(i) as a cutpath if it passes through said primary node and as an uncut path if itdoes not pass through said primary node; (b) for each cut path p_(i),forming two paths a_(i) and b_(i), referred to residual paths, bysplitting p_(i) into two at the primary node, such that the primary nodebecomes an end node for both residual paths, and then labeling theresidual path that traverses link 0 by b_(i) and labeling the residualpath that traverses ink N-1 by a_(i) ; (c) partitioning the set of uncutand residual paths into W subsets denoted by (P₀, . . . P_(W-1)), suchthat in each subset no two paths traverse a common link; (d) finding apermutation π(·), as defined earlier in claim 5d, such that if p_(j) isa cut path, a_(j) .di-elect cons.P_(i) and b_(j) .di-elect cons.P_(k)then π(i)=k; (e) for the permutation π(·), finding an interconnectioninstance (τ(·), h₁, h₂, . . . , h_(W-1)), as defined in claims 5e, whererecall that τ(·) is a per mutation and {h₀, . . . , h_(W-1) } is acollection of paths in the said graph H of claim 5; (f) for each uncutpath p_(i), assigning channels to it from each link it traverses suchthat:i. if the path traverses a link j such that j<s-1 then a channel cof the link is assigned to the path, where c is determined by:A. findingthe value k such that p_(i) .di-elect cons.P_(k), B. in the said graphH, finding the edge e traversed by the path h.sub.τ(k) between the stagej vertices and the stage j+1 vertices, and C. letting c equal γ(e), ii.if the path traverses a link j such that j≧s-1 then a channel c of thelink is assigned to the path, where c is determined by:A. finding thevalue k such that p_(i) .di-elect cons.P_(k), B. letting c equalτ(π(k)); and (g) for each cut path p_(i), assigning channels to it fromeach link it traverses such that:i. if the path traverses a link j suchthat j<s-1 and its residual path a_(i) (respectively, b_(i)) alsotraverses the link then a channel c of the link is assigned to the pathp_(i), where c is determined byA. finding the value k such that a_(i).di-elect cons.P_(k) (respectively, b_(i) .di-elect cons.P_(k)), B. inthe said graph H, finding the edge e traversed by the path h.sub.τ(k)between the stage j vertices and the stage j+1 vertices, and C. lettingc equal γ(e), ii. if the path traverses a link j such that j≧s-1 and itsresidual path a_(i) (respectively, b_(i)) also traverses the link then achannel c of the link is assigned to the path p_(i), where c isdetermined by:A. finding the value k such that a_(i) .di-electcons.P_(k) (respectively, b_(i) .di-elect cons.P_(k)), B. letting cequal τ(π(k)).
 7. A method as recited in claim 5, wherein said graph Hhas the same topology as a W×W Benes network, which is composed of a setof vertices and a set of edges, that go between pairs of vertices,where(a) the set of vertices includes:i. a collection of W vertices {u₀,. . . , u_(W-1) } called the stage 0 vertices, ii. a collection of Wvertices {v₀, . . . , v_(W-1) } called the stage s vertices, where s=2nand n=log₂ W, iii. for each i=1, 2, . . . , s-1, a collection of W/2vertices {x₀ (i), x₁ (i), . . . , x_(W/2-1) (i)} called the stage ivertices; (b) and the set of edges includes:i. a collection of W edgesbetween the stage 0 vertices and stage 1 vertices such that there is anedge between stage 0 vertex u_(i) and stage 1 vertex x_(j) (1) if(d_(n-1), . . . , d₁)=(δ_(n-2), . . . , δ₀), where (d_(n-1), . . . , d₀)is the n bit binary representation of i and (δ_(n-2), . . . , δ₀) is then-1 bit binary representation of j, ii. a collection of W edges betweenthe stage s-1 vertices and stage s vertices such that there is an edgebetween stage s vertex v_(i) and stage s-1 vertex x_(j) (s-1) if(d_(n-1), . . . , d₁)=(δ_(n-2), . . . , δ₀), where (d_(n-1), . . . , d₀)is the n bit binary representation of i and (δ_(n-2), . . . , δ₀) is then-1 bit binary representation of j, iii. a collection of W edges betweenstage 1 vertices and stage 2 vertices such that there is an edge betweenstage 1 vertex x_(i) (1) and stage 2 vertex x_(j) (2) if (d_(n-2), . . ., d₁)=(δ_(n-3), . . . , δ₀), where (d_(n-2), . . . , d₀) is the n-1 bitbinary representation of i and (δ_(n-2), . . . , δ₀) is the n-1 bitbinary representation of j, iv. a collection of W edges between stagen-1 vertices and stage n vertices such that there is an edge betweenstage n-1 vertex x_(i) (n-1) and stage n vertex x_(j) (n) if (d_(n-2), .. . , d₁)=(δ_(n-2), . . . , δ₁), where (d_(n-2), . . . , d₀) is the n-1bit binary representation of i and (δ_(n-2), . . . , δ₀) is the n-1 bitbinary representation of j, v. for each k=2, 3, . . . , n-2, acollection of W edges between stage k vertices and stage k+1 verticessuch that there is an edge between stage k vertex x_(i) (k) and stagek+1 vertex x_(j) (k+1) if (d_(n-1-k), . . . , d₁)=(δ_(n-k-2), . . . ,δ₀) and (d_(n-2), . . . , d_(n-k))=(δ_(n-2), . . . , δ_(n-k)), where(d_(n-2), . . . , d₀) is the n-1 bit binary representation of i and(δ_(n-2), . . . , δ₀), is the n-1 bit binary representation of j, vi. acollection of W edges between stage s-2 vertices and stage s-1 verticessuch that there is an edge between stage s-2 vertex x_(i) (s-2) andstage s-1 vertex x_(j) (s-1) if (d_(n-3), . . . , d₀)=(δ_(n-2), . . . ,δ₁), where (d_(n-2), . . . , d₀) is the n-1 bit binary representation ofi and (δ_(n-2), . . . , δ₀), is the n-1 bit binary representation of j,vii. a collection of W edges between stage n vertices and stage n+1vertices such that there is an edge between stage n vertex x_(i) (n) anstage n+1 vertex x_(j) (n+1) if (d_(n-2), . . . , d₁)=(δ_(n-2), . . . ,δ₁), where (d_(n-2), . . . , d₀) is the n-1 bit binary representation ofi and (δ_(n-2), . . . , δ₀) is the n-1 bit binary representation of j,and viii. for each k=n+1, n+2, . . . , s-3, a collection of W edgesbetween stage k vertices and stage k+1 vertices such that there is anedge between stage k vertex x_(i) (k) and stage k+1 vertex x_(j) (k+1)if (d_(k-1-n), . . . , d₀)=(δ_(k-n), . . . , δ₁), and (d_(n-2), . . . ,d_(k+1-n))=(δ_(n-2), . . . , δ_(k+1-n)), where (d_(n-2), . . . , d₀) isthe n-1 bit binary representation of i and (δ_(n-2), . . . , δ₀) is then-1 bit binary representation of j.
 8. In a ring communications networkhaving N nodes and a plurality of links, wherein each said link betweeneach adjacent pair of said nodes is a multichannel multiplexed link,with W channels, denoted with channel numbers {0, . . . , W-1}, a methodof configuring each of said nodes of said network, said methodcomprising:(a) designating one node in a ring as the primary node andnumbering the nodes 0, 1, . . . , N-1 starting from the primary node andproceeding in only one direction around said ring to an adjacent one ofsaid nodes; (b) for i=0, . . . , N-1, numbering the link between nodes iand (i+1)modN with the number i; and (c) configuring each of said nodessuch that channel c on link i may be connected to one of Δ+1 channels onlink (i+1) mod N, where Δ≧2, and where one of the channels on link (i+1)mod N is channel {(c+1) mod W and the other Δ channels on link (i+1) modN are the channels {(c-k·Δ^(i)) mod W: k=0, 1, . . . , Δ-1}.
 9. A methodas recited in claim 8 further comprising assigning channels to a set ofend-to-end communication connections 1, . . . , j, . . . , m, where eachend-to-end communication connection j is a sequence of connectedchannels that follow a path p_(j) on said ring communications network,assigning channels to the paths {p₁, . . . , p_(m) } and furthercomprising:(a) identifying each path p_(j) as a cut path if it passesthrough said primary node and as an uncut path if it does not passthrough said primary node; (b) for each cut path p_(i), forming twopaths a_(i) and b_(i), referred to residual paths, by splitting p_(i)into two at the primary node, such that the primary node becomes an endnode for both residual paths, and then labeling the residual path thattraverses link 0 by b_(i) and labeling the residual path that traverseslink N-1 by a_(i) ; (c) partitioning the set of uncut and residual pathsinto W subsets denoted by (P₀, . . . P_(W-1)), such that in each subsetno two paths traverse a common link; (d) finding a permutation π(·), asdefined in claim 5d such that if p_(j) is a cut path, a_(j) .di-electcons.P_(i) and b_(j) .di-elect cons.P_(k) then π(i)=k; (e) for thepermutation π(·), defining a pair of channel numbers i and j to beπ-related if there is a sequence of channel numbers (r₀, r₁, . . . ,r_(k)) such that r₀ =i, r_(k) =j, and for n=0, 1, . . . , k-1, r_(n+1)=π(r_(n)); (f) partitioning the channel numbers {0, . . . , W-1} intononempty subsets (C₀, . . . , C_(M-1)), where M is the number ofsubsets, such that numbers within a subset are π-related, while numbersfrom different subsets are not; (g) finding the size of each subsetC_(i) and denoting it by s_(i) ; (h) for each C_(i), finding a functionq_(i) (·) that is defined for the set of value {0, . . . , s_(i) -1} andtakes values from the set {0, . . . , s_(i) -1} such that:i. there isone element j in C_(i) such that q_(i) (j)=0, and ii. for each element jin C_(i), q_(i) (π(j))=(q_(i) (j)+1) mod s_(i) ; (i) finding a set ofnumbers {t₀, . . . , t_(M-1) } from the set {0, . . . , W-1} such thatfor i=0, . . . , M-1, t.sub.(i+1) mod M =(t_(i) +s_(i)) mod W; (j) foreach k=0, . . . , M-1:i. letting (d_(N-1) (k), d_(N-2) (k), . . . , d₀(k)) denote the base Δ, N digit representation of the value s_(k) -1,ii. letting D₀ (k) denote 0, and for i=1, 2, . . . , N-1, letting D_(i)(k) denote Σ_(n=0) ^(i-1) d_(n) (k)·Δ^(n) ; and (k) for each pair (i,j), where j.di-elect cons.{0, 1, . . . , N-1} is a link number andi.di-elect cons.{0, . . . , W-1}, determining a value σ(i, j)comprised:i. let k denote the value such that i.di-elect cons.C_(k), ii.determine a value ρ(i, j), whereA. if q_(k) (i)=s_(k) -1 then let ρ(i,j)=s_(k) -1-D_(j) (k) B. if q_(k) (i)<s_(k) -1 and q_(k) (i)<s_(k)-1-D_(j) (k) then let ρ(i, j)=q_(k) (i), C. if q_(k) (i)<s_(k) -1 andq_(k) (i)≧s_(k) -1-D_(j) (k) then let ρ(i, j)=q_(k) (i)+1, iii. let σ(i,j)=(t_(k) +ρ(i, j)) mod W; (l) for each uncut path p_(k) and each link jit traverses, assign channel σ(i, j) from the link to the path, where iis such that p_(k) .di-elect cons.P_(i) ; and (m) for each residual patha_(k) (resp., b_(k)) and each link j it traverses, assign channel σ(i,j) from the link to path p_(k), where i is such that a_(k) .di-electcons.P_(i) (resp., b_(k) .di-elect cons.P_(i)).
 10. A ringcommunications network having N nodes with multichannel communicationlinks between each pair of said nodes, where each link has W channels,said ring network configured as follows:each of said nodes configuredsuch that channel c on link i may be connected to one of Δ+1 channels onlink (i+1) mod N, where Δ≧2 and where one of the channels on link (i+1)mod N is channel (c+1) mod W and the other Δ channels on link (i+1) modN are the channels (c-k·Δ^(i)) mod W, where k=0, 1, . . . , Δ-1, wherethe nodes are numbered from 0, 1, . . . , N starting at the primary nodeof the ring and proceeding in one direction around said ring, and wherea link between nodes i and (i+1) mod N is designated as link i.
 11. In aring communication network comprising a plurality of nodes andcomprising links between said nodes for carrying data in a plurality ofW channels, a method of configuring said network comprising the stepsof:configuring a single one of said nodes for full channel conversion;configuring said nodes other than said single node for no channelconversion; and assigning no more than W channels to the transmission ofdata along any of said links, whereby the efficiency of the configuringis improved.
 12. A ring communication network comprising incombination:a plurality of nodes in which a single one of said nodes isconfigured for full channel conversation and the remaining nodes of saidplurality other than said single node are configured for no channelconversion; and links comprising a plurality of channels coupling saidnodes.
 13. A network as claimed in claim 12, in which said linkscomprise a plurality of W channels and wherein each said link comprisesno more than W channels.
 14. In a ring communication network comprisingN nodes and comprising links between said nodes for carrying data in Wchannels, a method of configuring said network comprising the stepsof:providing nodes and channels such that N≧2 log₂ W-1 where W is apower of 2; assigning no more than W channels to the transmission ofdata along any of said links; and configuring each of said nodes suchthat each channel of a first one of said links adjacent any one of saidnodes can be switched to no more than W-1 channels of a second one ofsaid links adjacent said any one node, whereby the efficiency of theconfiguring is improved.
 15. A method, as claimed in claim 14, whereinthe step of configuring comprises the step of configuring each of saidnodes such that each channel of a first one of said links adjacent anyone of said nodes can be switched to no more than two channels of asecond one of said links adjacent said any one node.
 16. A ringcommunication network comprising in combination:N nodes; and linkscoupling said nodes for carrying data in W channels such that N≧2 log₂W-1 where W is a power of 2, each of said N nodes comprising switchesconnected such that each channel of a first one of said links adjacentany one of said N nodes can be switched to no more than W-1 channels ofa second one of said links adjacent said any one node.
 17. A network, asclaimed in claim 16, wherein each said link comprises no more than Wchannels.
 18. A network, as claimed in claim 16, wherein each of said Nnodes comprises switches connected such that each channel of a first oneof said links adjacent any one of said N nodes can be switched to nomore than two channels of a second one of said links adjacent said anyone node.
 19. A network, as claimed in claim 18, wherein each said linkcomprises no more than W channels.
 20. In a ring communication networkcomprising N nodes and comprising links between said nodes for carryingdata in W channels, a method of configuring said network comprising thesteps of:providing nodes and channels such that N≧log.sub.Δ W where Δ>1;assigning no more than W channels to the transmission of data along anyof said links; and configuring each of said nodes such that each channelof a first one of said links adjacent any one of said nodes can beswitched to no more than Δ+1 channels of a second one of said linksadjacent said any one node, whereby the efficiency of the configuring isimproved.
 21. A ring communication network comprising in combination:Nnodes; and links coupling said nodes for carrying data in W channelssuch that N≧log.sub.Δ W where Δ>1, each of said N nodes comprisingswitches connected such that each channel of a first one of said linksadjacent any one of said N nodes can be switched to no more than Δ+1channels of a second one of said links adjacent said any one node.
 22. Anetwork, as claimed in claim 21, wherein each said link comprises nomore than W channels.
 23. In a ring communication network comprising Nnodes and comprising links between said nodes for carrying data in Wchannels, a method of configuring said network comprising the stepsof:assigning no more than W channels to the transmission of data alongany of said links; and configuring each of said nodes such that eachchannel of a first one of said links adjacent any one of said nodes canbe switched to no more than two channels of a second one of said linksadjacent said any one node, whereby the efficiency of the configuring isimproved.
 24. A ring communication network comprising in combination:Nnodes; and links between said nodes for carrying data in W channels,each of said nodes comprising switches connected such that each channelof a first one of said links adjacent any one of said nodes can beswitched to no more than two channels of a second one of said linksadjacent said any one node.
 25. A network, as claimed in claim 24,wherein each of said links carries no more than W channels of said data.26. A method of proposing a network to efficiently support connectionscomprising:proposing a network comprising N nodes and comprising linksbetween said nodes for carrying data in W channels; proposing theassignment of no more than W channels to the transmission of data alongany of said links; and proposing the configuration of each of said nodessuch that each channel of a first one of said links adjacent any one ofsaid nodes can be switched to no more than two channels of a second oneof said links adjacent said any one node, whereby the efficiency of theconfiguring is improved.
 27. A method of proposing a ring communicationnetwork comprising a plurality of nodes and comprising links betweensaid nodes for carrying data in a plurality of W channelscomprising:proposing the configuring of a single one of said nodes forfull channel conversion; proposing the configuring of said nodes otherthan said single node for no channel conversion; and proposing theassigning of no more than W channels to the transmission of data alongany of said links, whereby the efficiency of the configuring isimproved.
 28. A method of proposing a ring communication networkcomprising:proposing a plurality of nodes in which a single one of saidnodes is configured for full channel conversion and the remaining nodesof said plurality other than said single node are configured for nochannel conversion; and proposing links comprising a plurality ofchannels coupling said nodes.
 29. A method of proposing a ringcommunication network comprising:proposing N nodes; and proposing linkscoupling said nodes for carrying data in W channels such that N≧2 log₂W-1 where W is a power of 2, each of said N nodes comprising switchesconnected such that each channel of a first one of said links adjacentany one of said N nodes can be switched to no more than W-1 channels ofa second one of said links adjacent said any one node.
 30. A method ofproposing a ring communication network comprising:proposing N nodes; andproposing links coupling said nodes for carrying data in W channels suchthat N≧log.sub.Δ W where Δ>1, each of said N nodes comprising switchesconnected such that each channel of a first one of said links adjacentany one of said N nodes can be switched to no more than Δ+1 channels ofa second one of said links adjacent said any one node.
 31. A method ofproposing a ring communication network comprising a plurality of nodesand comprising links between said nodes for carrying data in a pluralityof W channels comprising:proposing the establishing of a single one ofsaid nodes for full channel conversion; proposing the establishing ofsaid nodes other than said single node for no channel conversion; andproposing the establishing of no more than W channels to thetransmission of data along any of said links, whereby the efficiency ofthe establishing is improved.
 32. A method of proposing a ringcommunication network comprising:proposing a plurality of nodes in whicha single one of said nodes is established for full channel conversionand the remaining nodes of said plurality other than said single nodeare established for no channel conversion; and proposing linkscomprising a plurality of channels coupling said nodes.